package ar.edu.unq.edp.futbol.usuarios;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;

import unq.equipos.dom.partidos.PartidoCopa;
import ar.edu.unq.edp.futbol.mains.MassivePartidoCreator;

public class UsuarioMassivePonedor extends UsuarioPersistente<PartidoCopa> {
	
	private String equipo2;
	private String equipo1;
	private String equipo3;
	private String equipo4;

	public UsuarioMassivePonedor(String equipo1, String equipo2, String equipo3, String equipo4) {
		this.equipo1 = equipo1;
		this.equipo2 = equipo2;
		this.equipo3 = equipo3;
		this.equipo4 = equipo4;
	}

	public void run() {
		List<PartidoCopa> partidos = (new MassivePartidoCreator(equipo1,equipo2,equipo3,equipo4))
				.createPartidosCopa();		
		Session session = pedirSesion();
		Transaction transaction = transaccionar(session);
		try {
			for (PartidoCopa partidoCopa : partidos) {
				save(session, partidoCopa);
			}
			commitearTransaccion(transaction);
		} catch (Exception e) {
			rollback(transaction);
			throw new RuntimeException();
		} finally {
			session.close();
		}
	}

}
